#ifndef NETUTIL_H
#define NETUTIL_H

#include <cstdio>
#include <unistd.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <netinet/in.h>
#include <netdb.h>
#include <cstdlib>
#include <iostream>
#include <fcntl.h>


#include "proto.h"


using namespace std;

class Serveur;


enum TypeClient
{
    OBSERVATEUR = 1,
    ETUDIANT = 2,
};


struct Client
{
  int socket;
  string name;
};


struct GereClient
{
    Serveur *serveur;
    int socket;
    hostent *info;
    sockaddr_in addresse;
    pthread_t thread;
};


int initSocketServeur(int port);
void *gereClient(void *arg);

/*
void ecrireLigne(int fd, char *chaine);
char *decodeAddr(struct sockaddr_in addr);
int lireEntier(int socket);
void ecrireEntier(int socket, int entier);
char *lireChaine(int socket);
void ecrireChaine(int socket, char *chaine);
ListeChaines *lireListeChaines(int socket);
void ecrireListeChaines(int socket, ListeChaines *listeChaines);
*/


#endif // NETUTIL_H
